package com.px.project.module.ml.service;

import java.util.List;

import com.px.common.dto.BaseQueryDto;
import com.px.project.module.ml.dto.ConstructionTeamDto;
import com.px.project.module.ml.dto.ConstructionTeamQueryDto;
import com.px.project.module.ml.dto.ConstructionTeamUpdateDto;
import com.px.project.module.ml.entity.ConstructionTeamDao;
import com.px.project.module.ml.vo.ConstructionTeamVo;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 物资系统》基础管理》施工队伍业务逻辑接口
 *
 * @author 品讯科技
 * @date 2024-08
 */
public interface IConstructionTeamService extends IService<ConstructionTeamDao> {
    /**
     * 新增
     *
     * @param constructionTeam 施工队伍
     * @return {@link Boolean} 状态标识
     */
    Boolean saveOne(ConstructionTeamDto constructionTeam);

    /**
     * 获取列表（未分页）
     *
     * @return {@link List}<{@link ConstructionTeamVo}> 列表
     */
    List<ConstructionTeamVo> listOfAll();

    /**
     * 获取列表（分页）
     *
     * @param baseQuery 分页
     * @param constructionTeamQuery 查询条件
     * @return {@link Page}<{@link ConstructionTeamVo}> 列表
     */
    Page<ConstructionTeamVo> listOfPage(BaseQueryDto<ConstructionTeamDao> baseQuery, ConstructionTeamQueryDto constructionTeamQuery);

    /**
     * 编辑
     *
     * @param constructionTeamUpdate 施工队伍
     * @return {@link Boolean} 状态标识
     */
    Boolean updateOne(ConstructionTeamUpdateDto constructionTeamUpdate);

    /**
     * 根据ID删除单个
     *
     * @param id ID
     * @return {@link Boolean} 状态标识
     */
    Boolean deleteOne(Long id);
}